#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;

const int maxn=1000;
int f[maxn+1],p[maxn+1];
int main()
{
	int n;
	while(cin>>n&&n)
	{
		memset(p,0,sizeof(p));
		for(int i=1;i<=n;i++)
			cin>>p[i];
		sort(p+1,p+n+1);
		int M;
		cin>>M;
		if(M<5){cout<<M<<endl;continue;}
		for(int i=1;i<=M;i++)f[i]=0;
        for(int i=1;i<n;i++)
        	for(int j=M-5;j>=0;j--)
        		if(j-p[i]>=0&&f[j-p[i]]+p[i]>f[j])
        			f[j]=f[j-p[i]]+p[i];
		cout<<M-f[M-5]-p[n]<<endl;
	}
	return 0;
}
